using System;
using System.Globalization;
using System.IO;
using Newtonsoft.Json;

namespace ns16
{
	internal class Class69 : JsonReader, IJsonLineInfo
	{
		private readonly JsonReader jsonReader_0;

		private readonly JsonTextWriter jsonTextWriter_0;

		private readonly StringWriter stringWriter_0;

		public override int Int32_0 => jsonReader_0.Int32_0;

		public override string String_0 => jsonReader_0.String_0;

		public override char Char_0
		{
			get
			{
				return jsonReader_0.Char_0;
			}
			protected internal set
			{
				jsonReader_0.Char_0 = value;
			}
		}

		public override JsonToken JsonToken_0 => jsonReader_0.JsonToken_0;

		public override object Object_0 => jsonReader_0.Object_0;

		public override Type Type_0 => jsonReader_0.Type_0;

		int IJsonLineInfo.LineNumber => (jsonReader_0 as IJsonLineInfo)?.LineNumber ?? 0;

		int IJsonLineInfo.LinePosition => (jsonReader_0 as IJsonLineInfo)?.LinePosition ?? 0;

		public Class69(JsonReader innerReader)
		{
			jsonReader_0 = innerReader;
			stringWriter_0 = new StringWriter(CultureInfo.InvariantCulture);
			jsonTextWriter_0 = new JsonTextWriter(stringWriter_0);
			jsonTextWriter_0.Formatting = Formatting.Indented;
		}

		public string method_14()
		{
			return stringWriter_0.ToString();
		}

		public override bool Read()
		{
			bool result = jsonReader_0.Read();
			jsonTextWriter_0.method_4(jsonReader_0, bool_1: false, bool_2: false);
			return result;
		}

		public override int? ReadAsInt32()
		{
			int? result = jsonReader_0.ReadAsInt32();
			jsonTextWriter_0.method_4(jsonReader_0, bool_1: false, bool_2: false);
			return result;
		}

		public override string ReadAsString()
		{
			string result = jsonReader_0.ReadAsString();
			jsonTextWriter_0.method_4(jsonReader_0, bool_1: false, bool_2: false);
			return result;
		}

		public override byte[] ReadAsBytes()
		{
			byte[] result = jsonReader_0.ReadAsBytes();
			jsonTextWriter_0.method_4(jsonReader_0, bool_1: false, bool_2: false);
			return result;
		}

		public override decimal? ReadAsDecimal()
		{
			decimal? result = jsonReader_0.ReadAsDecimal();
			jsonTextWriter_0.method_4(jsonReader_0, bool_1: false, bool_2: false);
			return result;
		}

		public override DateTime? ReadAsDateTime()
		{
			DateTime? result = jsonReader_0.ReadAsDateTime();
			jsonTextWriter_0.method_4(jsonReader_0, bool_1: false, bool_2: false);
			return result;
		}

		public override DateTimeOffset? ReadAsDateTimeOffset()
		{
			DateTimeOffset? result = jsonReader_0.ReadAsDateTimeOffset();
			jsonTextWriter_0.method_4(jsonReader_0, bool_1: false, bool_2: false);
			return result;
		}

		public virtual void Close()
		{
			jsonReader_0.Close();
		}

		bool IJsonLineInfo.HasLineInfo()
		{
			return (jsonReader_0 as IJsonLineInfo)?.HasLineInfo() ?? false;
		}
	}
}
